package cool.goodbai.example;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

public class EmployExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    private Boolean forUpdate;

    public EmployExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    public void setForUpdate(Boolean forUpdate) {
        this.forUpdate = forUpdate;
    }

    public Boolean getForUpdate() {
        return forUpdate;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Long value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Long value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Long value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Long value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Long value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Long> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Long> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Long value1, Long value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Long value1, Long value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andPostIdIsNull() {
            addCriterion("post_id is null");
            return (Criteria) this;
        }

        public Criteria andPostIdIsNotNull() {
            addCriterion("post_id is not null");
            return (Criteria) this;
        }

        public Criteria andPostIdEqualTo(Long value) {
            addCriterion("post_id =", value, "postId");
            return (Criteria) this;
        }

        public Criteria andPostIdNotEqualTo(Long value) {
            addCriterion("post_id <>", value, "postId");
            return (Criteria) this;
        }

        public Criteria andPostIdGreaterThan(Long value) {
            addCriterion("post_id >", value, "postId");
            return (Criteria) this;
        }

        public Criteria andPostIdGreaterThanOrEqualTo(Long value) {
            addCriterion("post_id >=", value, "postId");
            return (Criteria) this;
        }

        public Criteria andPostIdLessThan(Long value) {
            addCriterion("post_id <", value, "postId");
            return (Criteria) this;
        }

        public Criteria andPostIdLessThanOrEqualTo(Long value) {
            addCriterion("post_id <=", value, "postId");
            return (Criteria) this;
        }

        public Criteria andPostIdIn(List<Long> values) {
            addCriterion("post_id in", values, "postId");
            return (Criteria) this;
        }

        public Criteria andPostIdNotIn(List<Long> values) {
            addCriterion("post_id not in", values, "postId");
            return (Criteria) this;
        }

        public Criteria andPostIdBetween(Long value1, Long value2) {
            addCriterion("post_id between", value1, value2, "postId");
            return (Criteria) this;
        }

        public Criteria andPostIdNotBetween(Long value1, Long value2) {
            addCriterion("post_id not between", value1, value2, "postId");
            return (Criteria) this;
        }

        public Criteria andTimeIsNull() {
            addCriterion("`time` is null");
            return (Criteria) this;
        }

        public Criteria andTimeIsNotNull() {
            addCriterion("`time` is not null");
            return (Criteria) this;
        }

        public Criteria andTimeEqualTo(LocalDateTime value) {
            addCriterion("`time` =", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotEqualTo(LocalDateTime value) {
            addCriterion("`time` <>", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThan(LocalDateTime value) {
            addCriterion("`time` >", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("`time` >=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThan(LocalDateTime value) {
            addCriterion("`time` <", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("`time` <=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeIn(List<LocalDateTime> values) {
            addCriterion("`time` in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotIn(List<LocalDateTime> values) {
            addCriterion("`time` not in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("`time` between", value1, value2, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("`time` not between", value1, value2, "time");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("`status` is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("`status` is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("`status` =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("`status` <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("`status` >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("`status` >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("`status` <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("`status` <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("`status` in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("`status` not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("`status` between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("`status` not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andFirstTimeIsNull() {
            addCriterion("first_time is null");
            return (Criteria) this;
        }

        public Criteria andFirstTimeIsNotNull() {
            addCriterion("first_time is not null");
            return (Criteria) this;
        }

        public Criteria andFirstTimeEqualTo(LocalDateTime value) {
            addCriterion("first_time =", value, "firstTime");
            return (Criteria) this;
        }

        public Criteria andFirstTimeNotEqualTo(LocalDateTime value) {
            addCriterion("first_time <>", value, "firstTime");
            return (Criteria) this;
        }

        public Criteria andFirstTimeGreaterThan(LocalDateTime value) {
            addCriterion("first_time >", value, "firstTime");
            return (Criteria) this;
        }

        public Criteria andFirstTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("first_time >=", value, "firstTime");
            return (Criteria) this;
        }

        public Criteria andFirstTimeLessThan(LocalDateTime value) {
            addCriterion("first_time <", value, "firstTime");
            return (Criteria) this;
        }

        public Criteria andFirstTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("first_time <=", value, "firstTime");
            return (Criteria) this;
        }

        public Criteria andFirstTimeIn(List<LocalDateTime> values) {
            addCriterion("first_time in", values, "firstTime");
            return (Criteria) this;
        }

        public Criteria andFirstTimeNotIn(List<LocalDateTime> values) {
            addCriterion("first_time not in", values, "firstTime");
            return (Criteria) this;
        }

        public Criteria andFirstTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("first_time between", value1, value2, "firstTime");
            return (Criteria) this;
        }

        public Criteria andFirstTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("first_time not between", value1, value2, "firstTime");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleIsNull() {
            addCriterion("first_people is null");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleIsNotNull() {
            addCriterion("first_people is not null");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleEqualTo(String value) {
            addCriterion("first_people =", value, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleNotEqualTo(String value) {
            addCriterion("first_people <>", value, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleGreaterThan(String value) {
            addCriterion("first_people >", value, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleGreaterThanOrEqualTo(String value) {
            addCriterion("first_people >=", value, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleLessThan(String value) {
            addCriterion("first_people <", value, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleLessThanOrEqualTo(String value) {
            addCriterion("first_people <=", value, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleLike(String value) {
            addCriterion("first_people like", value, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleNotLike(String value) {
            addCriterion("first_people not like", value, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleIn(List<String> values) {
            addCriterion("first_people in", values, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleNotIn(List<String> values) {
            addCriterion("first_people not in", values, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleBetween(String value1, String value2) {
            addCriterion("first_people between", value1, value2, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andFirstPeopleNotBetween(String value1, String value2) {
            addCriterion("first_people not between", value1, value2, "firstPeople");
            return (Criteria) this;
        }

        public Criteria andSecondTimeIsNull() {
            addCriterion("second_time is null");
            return (Criteria) this;
        }

        public Criteria andSecondTimeIsNotNull() {
            addCriterion("second_time is not null");
            return (Criteria) this;
        }

        public Criteria andSecondTimeEqualTo(LocalDateTime value) {
            addCriterion("second_time =", value, "secondTime");
            return (Criteria) this;
        }

        public Criteria andSecondTimeNotEqualTo(LocalDateTime value) {
            addCriterion("second_time <>", value, "secondTime");
            return (Criteria) this;
        }

        public Criteria andSecondTimeGreaterThan(LocalDateTime value) {
            addCriterion("second_time >", value, "secondTime");
            return (Criteria) this;
        }

        public Criteria andSecondTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("second_time >=", value, "secondTime");
            return (Criteria) this;
        }

        public Criteria andSecondTimeLessThan(LocalDateTime value) {
            addCriterion("second_time <", value, "secondTime");
            return (Criteria) this;
        }

        public Criteria andSecondTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("second_time <=", value, "secondTime");
            return (Criteria) this;
        }

        public Criteria andSecondTimeIn(List<LocalDateTime> values) {
            addCriterion("second_time in", values, "secondTime");
            return (Criteria) this;
        }

        public Criteria andSecondTimeNotIn(List<LocalDateTime> values) {
            addCriterion("second_time not in", values, "secondTime");
            return (Criteria) this;
        }

        public Criteria andSecondTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("second_time between", value1, value2, "secondTime");
            return (Criteria) this;
        }

        public Criteria andSecondTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("second_time not between", value1, value2, "secondTime");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleIsNull() {
            addCriterion("second_people is null");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleIsNotNull() {
            addCriterion("second_people is not null");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleEqualTo(String value) {
            addCriterion("second_people =", value, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleNotEqualTo(String value) {
            addCriterion("second_people <>", value, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleGreaterThan(String value) {
            addCriterion("second_people >", value, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleGreaterThanOrEqualTo(String value) {
            addCriterion("second_people >=", value, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleLessThan(String value) {
            addCriterion("second_people <", value, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleLessThanOrEqualTo(String value) {
            addCriterion("second_people <=", value, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleLike(String value) {
            addCriterion("second_people like", value, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleNotLike(String value) {
            addCriterion("second_people not like", value, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleIn(List<String> values) {
            addCriterion("second_people in", values, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleNotIn(List<String> values) {
            addCriterion("second_people not in", values, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleBetween(String value1, String value2) {
            addCriterion("second_people between", value1, value2, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andSecondPeopleNotBetween(String value1, String value2) {
            addCriterion("second_people not between", value1, value2, "secondPeople");
            return (Criteria) this;
        }

        public Criteria andThirdTimeIsNull() {
            addCriterion("third_time is null");
            return (Criteria) this;
        }

        public Criteria andThirdTimeIsNotNull() {
            addCriterion("third_time is not null");
            return (Criteria) this;
        }

        public Criteria andThirdTimeEqualTo(LocalDateTime value) {
            addCriterion("third_time =", value, "thirdTime");
            return (Criteria) this;
        }

        public Criteria andThirdTimeNotEqualTo(LocalDateTime value) {
            addCriterion("third_time <>", value, "thirdTime");
            return (Criteria) this;
        }

        public Criteria andThirdTimeGreaterThan(LocalDateTime value) {
            addCriterion("third_time >", value, "thirdTime");
            return (Criteria) this;
        }

        public Criteria andThirdTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("third_time >=", value, "thirdTime");
            return (Criteria) this;
        }

        public Criteria andThirdTimeLessThan(LocalDateTime value) {
            addCriterion("third_time <", value, "thirdTime");
            return (Criteria) this;
        }

        public Criteria andThirdTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("third_time <=", value, "thirdTime");
            return (Criteria) this;
        }

        public Criteria andThirdTimeIn(List<LocalDateTime> values) {
            addCriterion("third_time in", values, "thirdTime");
            return (Criteria) this;
        }

        public Criteria andThirdTimeNotIn(List<LocalDateTime> values) {
            addCriterion("third_time not in", values, "thirdTime");
            return (Criteria) this;
        }

        public Criteria andThirdTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("third_time between", value1, value2, "thirdTime");
            return (Criteria) this;
        }

        public Criteria andThirdTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("third_time not between", value1, value2, "thirdTime");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleIsNull() {
            addCriterion("third_people is null");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleIsNotNull() {
            addCriterion("third_people is not null");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleEqualTo(String value) {
            addCriterion("third_people =", value, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleNotEqualTo(String value) {
            addCriterion("third_people <>", value, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleGreaterThan(String value) {
            addCriterion("third_people >", value, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleGreaterThanOrEqualTo(String value) {
            addCriterion("third_people >=", value, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleLessThan(String value) {
            addCriterion("third_people <", value, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleLessThanOrEqualTo(String value) {
            addCriterion("third_people <=", value, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleLike(String value) {
            addCriterion("third_people like", value, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleNotLike(String value) {
            addCriterion("third_people not like", value, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleIn(List<String> values) {
            addCriterion("third_people in", values, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleNotIn(List<String> values) {
            addCriterion("third_people not in", values, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleBetween(String value1, String value2) {
            addCriterion("third_people between", value1, value2, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdPeopleNotBetween(String value1, String value2) {
            addCriterion("third_people not between", value1, value2, "thirdPeople");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateIsNull() {
            addCriterion("third_evaluate is null");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateIsNotNull() {
            addCriterion("third_evaluate is not null");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateEqualTo(String value) {
            addCriterion("third_evaluate =", value, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateNotEqualTo(String value) {
            addCriterion("third_evaluate <>", value, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateGreaterThan(String value) {
            addCriterion("third_evaluate >", value, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateGreaterThanOrEqualTo(String value) {
            addCriterion("third_evaluate >=", value, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateLessThan(String value) {
            addCriterion("third_evaluate <", value, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateLessThanOrEqualTo(String value) {
            addCriterion("third_evaluate <=", value, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateLike(String value) {
            addCriterion("third_evaluate like", value, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateNotLike(String value) {
            addCriterion("third_evaluate not like", value, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateIn(List<String> values) {
            addCriterion("third_evaluate in", values, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateNotIn(List<String> values) {
            addCriterion("third_evaluate not in", values, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateBetween(String value1, String value2) {
            addCriterion("third_evaluate between", value1, value2, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andThirdEvaluateNotBetween(String value1, String value2) {
            addCriterion("third_evaluate not between", value1, value2, "thirdEvaluate");
            return (Criteria) this;
        }

        public Criteria andForthTimeIsNull() {
            addCriterion("forth_time is null");
            return (Criteria) this;
        }

        public Criteria andForthTimeIsNotNull() {
            addCriterion("forth_time is not null");
            return (Criteria) this;
        }

        public Criteria andForthTimeEqualTo(LocalDateTime value) {
            addCriterion("forth_time =", value, "forthTime");
            return (Criteria) this;
        }

        public Criteria andForthTimeNotEqualTo(LocalDateTime value) {
            addCriterion("forth_time <>", value, "forthTime");
            return (Criteria) this;
        }

        public Criteria andForthTimeGreaterThan(LocalDateTime value) {
            addCriterion("forth_time >", value, "forthTime");
            return (Criteria) this;
        }

        public Criteria andForthTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("forth_time >=", value, "forthTime");
            return (Criteria) this;
        }

        public Criteria andForthTimeLessThan(LocalDateTime value) {
            addCriterion("forth_time <", value, "forthTime");
            return (Criteria) this;
        }

        public Criteria andForthTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("forth_time <=", value, "forthTime");
            return (Criteria) this;
        }

        public Criteria andForthTimeIn(List<LocalDateTime> values) {
            addCriterion("forth_time in", values, "forthTime");
            return (Criteria) this;
        }

        public Criteria andForthTimeNotIn(List<LocalDateTime> values) {
            addCriterion("forth_time not in", values, "forthTime");
            return (Criteria) this;
        }

        public Criteria andForthTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("forth_time between", value1, value2, "forthTime");
            return (Criteria) this;
        }

        public Criteria andForthTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("forth_time not between", value1, value2, "forthTime");
            return (Criteria) this;
        }

        public Criteria andForthPeopleIsNull() {
            addCriterion("forth_people is null");
            return (Criteria) this;
        }

        public Criteria andForthPeopleIsNotNull() {
            addCriterion("forth_people is not null");
            return (Criteria) this;
        }

        public Criteria andForthPeopleEqualTo(String value) {
            addCriterion("forth_people =", value, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andForthPeopleNotEqualTo(String value) {
            addCriterion("forth_people <>", value, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andForthPeopleGreaterThan(String value) {
            addCriterion("forth_people >", value, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andForthPeopleGreaterThanOrEqualTo(String value) {
            addCriterion("forth_people >=", value, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andForthPeopleLessThan(String value) {
            addCriterion("forth_people <", value, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andForthPeopleLessThanOrEqualTo(String value) {
            addCriterion("forth_people <=", value, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andForthPeopleLike(String value) {
            addCriterion("forth_people like", value, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andForthPeopleNotLike(String value) {
            addCriterion("forth_people not like", value, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andForthPeopleIn(List<String> values) {
            addCriterion("forth_people in", values, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andForthPeopleNotIn(List<String> values) {
            addCriterion("forth_people not in", values, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andForthPeopleBetween(String value1, String value2) {
            addCriterion("forth_people between", value1, value2, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andForthPeopleNotBetween(String value1, String value2) {
            addCriterion("forth_people not between", value1, value2, "forthPeople");
            return (Criteria) this;
        }

        public Criteria andUtcCreateIsNull() {
            addCriterion("utc_create is null");
            return (Criteria) this;
        }

        public Criteria andUtcCreateIsNotNull() {
            addCriterion("utc_create is not null");
            return (Criteria) this;
        }

        public Criteria andUtcCreateEqualTo(LocalDateTime value) {
            addCriterion("utc_create =", value, "utcCreate");
            return (Criteria) this;
        }

        public Criteria andUtcCreateNotEqualTo(LocalDateTime value) {
            addCriterion("utc_create <>", value, "utcCreate");
            return (Criteria) this;
        }

        public Criteria andUtcCreateGreaterThan(LocalDateTime value) {
            addCriterion("utc_create >", value, "utcCreate");
            return (Criteria) this;
        }

        public Criteria andUtcCreateGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("utc_create >=", value, "utcCreate");
            return (Criteria) this;
        }

        public Criteria andUtcCreateLessThan(LocalDateTime value) {
            addCriterion("utc_create <", value, "utcCreate");
            return (Criteria) this;
        }

        public Criteria andUtcCreateLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("utc_create <=", value, "utcCreate");
            return (Criteria) this;
        }

        public Criteria andUtcCreateIn(List<LocalDateTime> values) {
            addCriterion("utc_create in", values, "utcCreate");
            return (Criteria) this;
        }

        public Criteria andUtcCreateNotIn(List<LocalDateTime> values) {
            addCriterion("utc_create not in", values, "utcCreate");
            return (Criteria) this;
        }

        public Criteria andUtcCreateBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("utc_create between", value1, value2, "utcCreate");
            return (Criteria) this;
        }

        public Criteria andUtcCreateNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("utc_create not between", value1, value2, "utcCreate");
            return (Criteria) this;
        }

        public Criteria andUtcModifyIsNull() {
            addCriterion("utc_modify is null");
            return (Criteria) this;
        }

        public Criteria andUtcModifyIsNotNull() {
            addCriterion("utc_modify is not null");
            return (Criteria) this;
        }

        public Criteria andUtcModifyEqualTo(LocalDateTime value) {
            addCriterion("utc_modify =", value, "utcModify");
            return (Criteria) this;
        }

        public Criteria andUtcModifyNotEqualTo(LocalDateTime value) {
            addCriterion("utc_modify <>", value, "utcModify");
            return (Criteria) this;
        }

        public Criteria andUtcModifyGreaterThan(LocalDateTime value) {
            addCriterion("utc_modify >", value, "utcModify");
            return (Criteria) this;
        }

        public Criteria andUtcModifyGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("utc_modify >=", value, "utcModify");
            return (Criteria) this;
        }

        public Criteria andUtcModifyLessThan(LocalDateTime value) {
            addCriterion("utc_modify <", value, "utcModify");
            return (Criteria) this;
        }

        public Criteria andUtcModifyLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("utc_modify <=", value, "utcModify");
            return (Criteria) this;
        }

        public Criteria andUtcModifyIn(List<LocalDateTime> values) {
            addCriterion("utc_modify in", values, "utcModify");
            return (Criteria) this;
        }

        public Criteria andUtcModifyNotIn(List<LocalDateTime> values) {
            addCriterion("utc_modify not in", values, "utcModify");
            return (Criteria) this;
        }

        public Criteria andUtcModifyBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("utc_modify between", value1, value2, "utcModify");
            return (Criteria) this;
        }

        public Criteria andUtcModifyNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("utc_modify not between", value1, value2, "utcModify");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andModifyByIsNull() {
            addCriterion("modify_by is null");
            return (Criteria) this;
        }

        public Criteria andModifyByIsNotNull() {
            addCriterion("modify_by is not null");
            return (Criteria) this;
        }

        public Criteria andModifyByEqualTo(String value) {
            addCriterion("modify_by =", value, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andModifyByNotEqualTo(String value) {
            addCriterion("modify_by <>", value, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andModifyByGreaterThan(String value) {
            addCriterion("modify_by >", value, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andModifyByGreaterThanOrEqualTo(String value) {
            addCriterion("modify_by >=", value, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andModifyByLessThan(String value) {
            addCriterion("modify_by <", value, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andModifyByLessThanOrEqualTo(String value) {
            addCriterion("modify_by <=", value, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andModifyByLike(String value) {
            addCriterion("modify_by like", value, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andModifyByNotLike(String value) {
            addCriterion("modify_by not like", value, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andModifyByIn(List<String> values) {
            addCriterion("modify_by in", values, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andModifyByNotIn(List<String> values) {
            addCriterion("modify_by not in", values, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andModifyByBetween(String value1, String value2) {
            addCriterion("modify_by between", value1, value2, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andModifyByNotBetween(String value1, String value2) {
            addCriterion("modify_by not between", value1, value2, "modifyBy");
            return (Criteria) this;
        }

        public Criteria andValidIsNull() {
            addCriterion("`valid` is null");
            return (Criteria) this;
        }

        public Criteria andValidIsNotNull() {
            addCriterion("`valid` is not null");
            return (Criteria) this;
        }

        public Criteria andValidEqualTo(Boolean value) {
            addCriterion("`valid` =", value, "valid");
            return (Criteria) this;
        }

        public Criteria andValidNotEqualTo(Boolean value) {
            addCriterion("`valid` <>", value, "valid");
            return (Criteria) this;
        }

        public Criteria andValidGreaterThan(Boolean value) {
            addCriterion("`valid` >", value, "valid");
            return (Criteria) this;
        }

        public Criteria andValidGreaterThanOrEqualTo(Boolean value) {
            addCriterion("`valid` >=", value, "valid");
            return (Criteria) this;
        }

        public Criteria andValidLessThan(Boolean value) {
            addCriterion("`valid` <", value, "valid");
            return (Criteria) this;
        }

        public Criteria andValidLessThanOrEqualTo(Boolean value) {
            addCriterion("`valid` <=", value, "valid");
            return (Criteria) this;
        }

        public Criteria andValidIn(List<Boolean> values) {
            addCriterion("`valid` in", values, "valid");
            return (Criteria) this;
        }

        public Criteria andValidNotIn(List<Boolean> values) {
            addCriterion("`valid` not in", values, "valid");
            return (Criteria) this;
        }

        public Criteria andValidBetween(Boolean value1, Boolean value2) {
            addCriterion("`valid` between", value1, value2, "valid");
            return (Criteria) this;
        }

        public Criteria andValidNotBetween(Boolean value1, Boolean value2) {
            addCriterion("`valid` not between", value1, value2, "valid");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}